package com.syh.core.ddd.infrastructure.repository.model;


/**
 *
 *
 *
 *                             _ooOoo_
 *                            o8888888o
 *                            88" . "88
 *                            (| -_- |)
 *                            O\  =  /O
 *                         ____/`---'\____
 *                       .'  \\|     |//  `.
 *                      /  \\|||  :  |||//  \
 *                     /  _||||| -:- |||||-  \
 *                     |   | \\\  -  /// |   |
 *                     | \_|  ''\---/''  |   |
 *                     \  .-\__  `-`  ___/-. /
 *                   ___`. .'  /--.--\  `. . __
 *                ."" '<  `.___\_<|>_/___.'  >'"".
 *               | | :  `- \`.;`\ _ /`;.`/ - ` : | |
 *               \  \ `-.   \_ __\ /__ _/   .-` /  /
 *          ======`-.____`-.___\_____/___.-`____.-'======
 *                             `=---='
 *          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 *               数据模型超级父类佛祖保佑所有 永无BUG
 *
 *
 */


import lombok.Data;

import javax.persistence.*;
import java.io.Serializable;

/**
 * 所有映射数据库模型的超级
 */
@MappedSuperclass
@Data
public abstract class SuperModel implements Serializable {
  /**
   * id
   */
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "ID", columnDefinition = "bigint COMMENT 'id'")
  protected Long id;

  /**
   * 唯一身份编号
   */
  @Column(name = "UUID", columnDefinition = "varchar(100) COMMENT 'uuid'")
	protected String uuid;
  /**
   * 数据版本号
   */
  @Version
  @Column(name = "VERSION")
  protected Long version;

}
